package com.chenfan.mcn.model;

import com.baomidou.mybatisplus.annotation.TableName;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.chenfan.mcn.extension.log.FieldDesc;
import com.chenfan.mcn.constant.DictTypeCst;
import com.chenfan.mcn.constant.McnConstant;
import com.chenfan.mcn.extension.log.FieldTypeEnum;
import com.chenfan.mcn.model.base.BaseSaveEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 红人签约合同
 * </p>
 *
 * @author wulg
 * @since 2021-07-20
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("star_contract")
public class StarContract extends BaseSaveEntity {

    private static final long serialVersionUID = 6739872195479957668L;

    /**
     * 红人ID
     */
    @TableField("star_id")
    private Long starId;

    /**
     * 合同类型
     */
    @FieldDesc(value = "合同类型", dictType = DictTypeCst.SIGN_CONTRACT_TYPE)
    @TableField("contract_type")
    private String contractType;

    /**
     * 签约合同文件（最多上传五个文件）
     */
    @FieldDesc(value = "签约合同文件", fieldType = FieldTypeEnum.FILE)
    @TableField("contract")
    private String contract;

    /**
     * 是否已解约：0否、1是  注意：0未解约按签约时间可分为：2未生效、3已生效
     */
    @FieldDesc(value = "解约状态", replace = {"否_0", "是_1"})
    @TableField("state")
    private Integer state;

    /**
     * 解约时间
     */
    @FieldDesc(value = "解约时间", format = McnConstant.LONG_DATE_FORMAT)
    @TableField("relieve_time")
    private Date relieveTime;

    /**
     * 备注
     */
    @FieldDesc(value = "备注")
    @TableField("remark")
    private String remark;

    /**
     * 合同编号
     */
    @FieldDesc(value = "合同编号")
    @TableField("sign_contract_no")
    private String signContractNo;

}
